/*****
 * BEGIN LICENSE BLOCK ***** Version: MPL 1.1
 * 
 * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may
 * not use this file except in compliance with the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 * 
 * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND,
 * either express or implied. See the License for the specific language governing rights and limitations under
 * the License.
 * 
 * The Original Code is BzStats.
 * 
 * The Initial Developer of the Original Code is Michel de Bree (youth). Portions created by the Initial
 * Developer are Copyright (C) 2005 the Initial Developer. All Rights Reserved.
 * 
 * Contributor(s):
 * 
 ***** END LICENSE BLOCK
 *****/

package bzstats;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import bzstats.event.GameEvent;

/**
 * @author youth
 * @has 1 - * bzstats.PlayerStats
 * @navassoc 1 "collects from" 1 bzstats.GamePeriod
 * 
 */
public class PeriodStats extends HashMap {

	public void collectStats(final GamePeriod period) {

		final Iterator eventiter = period.iterator();
		GameEvent event;
		while (eventiter.hasNext()) {
			event = (GameEvent) eventiter.next();
			// add (event.getStats());
			event.collectStats(this);
		}

	}

	public PlayerStats getPlayerStats(final String name) {

		if (!containsKey(name)) {
			put(name, new PlayerStats(name));
		}

		return (PlayerStats) get(name);

	}

	public String toString() {
		final Iterator playeriter = entrySet().iterator();
		Map.Entry entry;
		String result = "";
		PlayerStats player;
		while (playeriter.hasNext()) {
			entry = (Map.Entry) playeriter.next();
			player = (PlayerStats) entry.getValue();
			result += player.toString() + "\n";

		}
		return result;

	}

}
